//
//  Common.swift
//  Weibo
//
//  Created by 梁智 on 15/11/23.
//  Copyright © 2015年 lzfree. All rights reserved.
//

// 目的：提供全局共享属性或者方法，类似于 pch 文件
import UIKit

// MARK: - 全局通知定义
/// 切换根视图控制器通知 － 一定要够长，要有前缀
let WBSwitchRootViewControllerNotification = "WBSwitchRootViewControllerNotification"

/// 选中缩略图照片通知
let WBStatusSelectedPhotoNotification = "WBStatusSelectedPhotoNotification"
/// 选中照片的 KEY - IndexPath
let WBStatusSelectedPhotoIndexPathKey = "WBStatusSelectedPhotoIndexPathKey"
/// 选中照片的 KEY - URL 数组
let WBStatusSelectedPhotoURLsKey = "WBStatusSelectedPhotoURLsKey"

/// 全局外观渲染颜色
let WBAppearanceTintColor = UIColor.orangeColor()


// MARK: - 全局函数，可以直接使用
/// 延迟在主线程执行函数
///
/// - parameter delta:    延迟执行的时间
/// - parameter callFunc: 要执行的闭包 - 尾随闭包
func delay(delta: Double, callFunc: () -> ()) {
    dispatch_after(
        dispatch_time(DISPATCH_TIME_NOW, Int64(delta * Double(NSEC_PER_SEC))),
        dispatch_get_main_queue()) {
        callFunc()
    }
}

/// 输出日志
///
/// - parameter message:  日志消息
/// - parameter logError: 错误标记，默认是 false，如果是 true，发布时仍然会输出
/// - parameter file:     文件名
/// - parameter method:   方法名
/// - parameter line:     代码行数
func printLog<T>(message: T,
    logError: Bool = false,
    file: String = __FILE__,
    method: String = __FUNCTION__,
    line: Int = __LINE__)
{
    if logError {
        print("\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)")
    } else {
        #if DEBUG
            print("\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)")
        #endif
    }
}